package com.scorpio.log.service.impl;

import com.scorpio.common.service.impl.BaseServiceImpl;
import com.scorpio.log.domain.UserLoginLogEntity;
import com.scorpio.log.mapper.UserLoginLogMapper;
import com.scorpio.log.service.UserLoginLogService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Arrays;
import java.util.List;

/**
 * 登录日志Service业务层处理
 *
 * @author scorpio
 * @date 2020-10-10
 */
@Service
public class UserLoginLogServiceImpl extends BaseServiceImpl<UserLoginLogMapper, UserLoginLogEntity> implements UserLoginLogService {

    @Override
    @Transactional(rollbackFor = Exception.class)
    public void deleteByUser(Long uid) {
        baseDao.delete(getQueryWrapper().eq("uid", uid));
    }


    /**
     * 查询登录日志
     *
     * @param id 登录日志ID
     * @return 登录日志
     */
    @Override
    public UserLoginLogEntity selectById(Long id) {
        return baseDao.selectById(id);
    }

    /**
     * 查询登录日志列表
     *
     * @param entity 登录日志
     * @return 登录日志
     */
    @Override
    public List<UserLoginLogEntity> selectList(UserLoginLogEntity entity) {
        return baseDao.list(entity);
    }

    /**
     * 新增登录日志
     *
     * @param entity 登录日志
     * @return 结果
     */
    @Override
    public int save(UserLoginLogEntity entity) {
        return baseDao.insert(entity);
    }

    /**
     * 修改登录日志
     *
     * @param entity 登录日志
     * @return 结果
     */
    @Override
    public int update(UserLoginLogEntity entity) {
        return baseDao.updateById(entity);
    }

    /**
     * 批量删除登录日志
     *
     * @param ids 需要删除的登录日志ID
     * @return 结果
     */
    @Override
    public int deleteByIds(Long[] ids) {
        return baseDao.deleteBatchIds(Arrays.asList(ids));
    }

    /**
     * 删除登录日志信息
     *
     * @param id 登录日志ID
     * @return 结果
     */
    @Override
    public int deleteById(Long id) {
        return baseDao.deleteById(id);
    }
}
